package cc.zy.base.hr.service;

import cc.zy.base.businesses.entity.College;
import cc.zy.base.common.entity.QueryRequest;
import cc.zy.base.hr.entity.ScoreMapping;
import cc.zy.base.hr.entity.StaffLabel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;

/**
 * 2 * @Author: Junjie
 * 3 * @Date: 2022/3/9 10:04
 * 4
 */
public interface IScoreMappingService extends IService<ScoreMapping> {

    /**
     * 方法描述：积分规则 查询（分页）
     *
     * @param request QueryRequest
     * @param scoreMapping  scoreMapping
     * @return IPage<ScoreMapping>
     * @author Chenjunjie
     * @date 2022/3/9 10:05
     */

    IPage<ScoreMapping> findScoreMapping(QueryRequest request, ScoreMapping scoreMapping);

    /**
     * 方法描述：通过ID查询积分规则
     *
     * @param id id
     * @return 积分信息
     * @author Chenjunjie
     * @date 2022/3/9 10:09
     */

     ScoreMapping findById(Integer id);
     
     /**
      * 方法描述：查询（所有）
      *
      * @param scoreMapping scoreMapping
      * @return List(ScoreMapping)
      * @author Chenjunjie
      * @date 2022/3/9 10:19
      */

     List<ScoreMapping> findScoreMappings(ScoreMapping scoreMapping);

    /**
     * 新增
     *
     * @param scoreMapping scoreMapping
     */
    void createScoreMapping(ScoreMapping scoreMapping);

    /**
     * 修改
     *
     * @param scoreMapping scoreMapping
     */
    void updateScoreMapping(ScoreMapping scoreMapping);

    /**
     * 删除
     *
     * @param scoreMapping scoreMapping
     */
    void deleteScoreMapping(ScoreMapping scoreMapping);

    /**
     *
     *
     * @param scoreMappingIds 院校 id数组
     */
    void deleteScoreMappings(String[] scoreMappingIds);

    /**
     * 查询不带分页
     */
    List<ScoreMapping> findScoreMappingListNotPage(ScoreMapping scoreMapping);

    /**
     * 方法描述：判断前台输入的分数段是否已经存在
     *
     * @param maxValue maxValue
     * @param minValue minValue
     * @return
     * @author Chenjunjie
     * @date 2022/3/9 17:06
     */
    Boolean isRepetitive(BigDecimal maxValue,BigDecimal minValue);


}
